package cn.maszy.service.impl.customer;

import java.util.Date;
import java.util.List;
import java.util.UUID;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.maszy.common.Pager;
import cn.maszy.common.SessionFactory;
import cn.maszy.dao.customer.B_T_Ufp_ContractWordMapper;
import cn.maszy.model.customer.B_T_Ufp_ContractWord;
import cn.maszy.model.customer.B_T_Ufp_ContractWordExample;
import cn.maszy.model.customer.B_T_Ufp_ContractWordExample.Criteria;
import cn.maszy.service.customer.B_T_Ufp_ContractWordService;
@Service
public class B_T_Ufp_ContractWordServiceImpl implements B_T_Ufp_ContractWordService {

	@Autowired
	private B_T_Ufp_ContractWordMapper b_T_Ufp_ContractWordMapper;
	
	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_ContractWordService#update(cn.maszy.model.investment.B_T_Ufp_ContractWord, cn.maszy.model.investment.B_T_Ufp_ContractWordExample)
	 */
	public int update(B_T_Ufp_ContractWord b_T_Ufp_ContractWord) {
		// TODO Auto-generated method stub
		 if(b_T_Ufp_ContractWord.getContractId()==null||"".equals(b_T_Ufp_ContractWord.getContractId())){
			 b_T_Ufp_ContractWord.setContractId(UUID.randomUUID().toString());
			 b_T_Ufp_ContractWord.setIsDelete(0);
			 b_T_Ufp_ContractWord.setCreateTime(new Date());
			 b_T_Ufp_ContractWord.setCreateUser(SessionFactory.getSessionUserRealNam());
			 return b_T_Ufp_ContractWordMapper.insert(b_T_Ufp_ContractWord);
		 }else{
			 b_T_Ufp_ContractWord.setUpdateTime(new Date());
			 b_T_Ufp_ContractWord.setUpdateUser(SessionFactory.getSessionUserRealNam());
			 return b_T_Ufp_ContractWordMapper.updateByPrimaryKeySelective(b_T_Ufp_ContractWord);
		 }
	}

	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_ContractWordService#selectOne(java.lang.String)
	 */
	public B_T_Ufp_ContractWord selectOne(String uuid) {
		// TODO Auto-generated method stub
		B_T_Ufp_ContractWord record=b_T_Ufp_ContractWordMapper.selectByPrimaryKey(uuid);
		if("".equals(uuid)){
			record = new B_T_Ufp_ContractWord();
		}
		return record;
	}

	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_ContractWordService#delete(java.lang.String)
	 */
	public int delete(String checkIds) {
		// TODO Auto-generated method stub
		B_T_Ufp_ContractWord b_T_Ufp_ContractWord= new B_T_Ufp_ContractWord();
		B_T_Ufp_ContractWordExample example = new B_T_Ufp_ContractWordExample();
		for (String id : checkIds.split(", ")) {
			//b_T_Ufp_ContractWordMapper.deleteByPrimaryKey(id);
			//逻辑删除
			if(!"on".equals(id)){
				example.or().andContractIdEqualTo(id);
				b_T_Ufp_ContractWord = b_T_Ufp_ContractWordMapper.selectByPrimaryKey(id);
				b_T_Ufp_ContractWord.setIsDelete(1);
				b_T_Ufp_ContractWordMapper.updateByPrimaryKeySelective(b_T_Ufp_ContractWord);
			}
		}
		return 1;
	}

	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_ContractWordService#count(cn.maszy.model.investment.B_T_Ufp_ContractWordExample)
	 */
	public int count(B_T_Ufp_ContractWordExample example,B_T_Ufp_ContractWordMapper b_T_Ufp_ContractWordMapper) {
		// TODO Auto-generated method stub
		return b_T_Ufp_ContractWordMapper.countByExample(example);
	}

	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_ContractWordService#selectList(cn.maszy.model.investment.B_T_Ufp_ContractWord)
	 */
	public Pager<B_T_Ufp_ContractWord> selectList(B_T_Ufp_ContractWord b_T_Ufp_ContractWord,Pager<B_T_Ufp_ContractWord> pager,String uuid) {
		// TODO Auto-generated method stub
		// 添加查询条件
		B_T_Ufp_ContractWordExample example=new B_T_Ufp_ContractWordExample();
		Criteria criteria = example.createCriteria();
		/*	无搜索
		if(b_T_Ufp_ContractWord!=null){
			if(b_T_Ufp_ContractWord.getRepresentative()!=null&&!"".equals(b_T_Ufp_ContractWord.getRepresentative())){
				criteria.andRepresentativeLike("%"+b_T_Ufp_ContractWord.getRepresentative()+"%");
			}
			if(b_T_Ufp_ContractWord.getIphone()!=null&&!"".equals(b_T_Ufp_ContractWord.getIphone())){
				criteria.andIphoneLike("%"+b_T_Ufp_ContractWord.getIphone()+"%");
			}
			if(b_T_Ufp_ContractWord.getCustomername()!=null&&!"".equals(b_T_Ufp_ContractWord.getCustomername())){
				criteria.andCustomernameLike("%"+b_T_Ufp_ContractWord.getCustomername()+"%");
			}
		}else{
			criteria.andUuidIsNotNull();
		}
		*/
		criteria.andIsDeleteEqualTo(0);
		criteria.andCustomerUuidEqualTo(uuid);
		example.or(criteria);
		int totalCount=new B_T_Ufp_ContractWordServiceImpl().count(example,b_T_Ufp_ContractWordMapper);
		pager.setTotalRecords(totalCount);
		example.setLimitStart(pager.getStartRecord());
//		example.setLimitEnd(pager.getPageSize());
		example.setLimitEnd(4);
		example.setOrderByClause(pager.getOrderField()+" "+pager.getOrderDirection());
		
		// 取得总的记录条数
		List<B_T_Ufp_ContractWord>  list=b_T_Ufp_ContractWordMapper.selectByExample(example);
		pager.setPageRecords(list);
		pager.setPageSize(4);
		return pager;
	}
	
	
	
	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_ContractWordService#selectList(cn.maszy.model.investment.B_T_Ufp_ContractWord)
	 */
	public Pager<B_T_Ufp_ContractWord> selectListfow(B_T_Ufp_ContractWord b_T_Ufp_ContractWord,Pager<B_T_Ufp_ContractWord> pager,String uuid) {
		// TODO Auto-generated method stub
		// 添加查询条件
		B_T_Ufp_ContractWordExample example=new B_T_Ufp_ContractWordExample();
		Criteria criteria = example.createCriteria();
		criteria.andIsDeleteEqualTo(0);
		criteria.andCustomerUuidEqualTo(uuid);
		example.or(criteria);
		int totalCount=new B_T_Ufp_ContractWordServiceImpl().count(example,b_T_Ufp_ContractWordMapper);
		pager.setTotalRecords(totalCount);
		example.setLimitStart(pager.getStartRecord());
		example.setLimitEnd(pager.getPageSize());
		example.setOrderByClause(pager.getOrderField()+" "+pager.getOrderDirection());
		// 取得总的记录条数
		List<B_T_Ufp_ContractWord>  list=b_T_Ufp_ContractWordMapper.selectByExample(example);
		pager.setPageRecords(list);
		return pager;
	}
}
